package com.situ.admin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.situ.admin.model.Admin;

/**
 * 用户服务接口
 */
public interface AdminService extends IService<Admin> {

    /**
     * 分页查询管理员列表
     * @param pageNum 页码
     * @param pageSize 每页数量
     * @param search 搜索条件
     * @return 管理员列表
     */
    Page<Admin> findAll(int pageNum, int pageSize, Admin search);

    /**
     * 根据管理员名查询管理员
     * @param username 管理员名
     * @return 管理员信息
     */
    Admin findByAdminname(String username);

    // 新增管理员
    boolean addAdmin(Admin admin);

    /**
     * 修改管理员状态
     * @param id 管理员ID
     * @param status 状态值
     * @return 修改结果
     */
    boolean updateStatus(Integer id, Integer status);
    
    /**
     * 修改管理员角色
     * @param id 管理员ID
     * @param roleType 角色类型
     * @return 修改结果
     */
    boolean updateRoleType(Integer id, Integer roleType);

    /**
     * 删除管理员
     * @param id 管理员ID
     * @return 删除结果
     */
    boolean deleteAdmin(Integer id);
}